﻿using Abp.Domain.Entities.Auditing;
using Camc.Quality.StoreManagement.StoreInfo;
using System;
using System.Collections.Generic;
using System.Text;

namespace Camc.Quality.TrepanningManager.BomAnalyseDto
{
    /// <summary>
    /// 设计bom主页Grid数据
    /// </summary>
   public class BomAnalyseContentDto : FullAuditedEntity<Guid>
    {
        /// <summary>
        /// 年代号
        /// </summary>
        public string YearsNo { get; set; }
        /// <summary>
        /// 0成功 1 失败
        /// </summary>
        public int code { get; set; } = 0;

        public string Message { get; set; }
        /// <summary>
        /// 汇总bomid
        /// </summary>
        public Guid CollectBomManagerId { get; set; }
        /// <summary>
        /// 仓库ID
        /// </summary>
        public Guid StoreId { get; set; }
        /// <summary>
        /// 型号Id
        /// </summary>
        public Guid ModuleId { get; set; }
        /// <summary>
        /// 火箭型号
        /// </summary>
        public string HJXH { get; set; }
        /// <summary>
        /// 火箭发次
        /// </summary>
        public string HJFC { get; set; }
        /// <summary>
        /// 发次Id
        /// </summary>
        public Guid SendTimeId { get; set; }
        /// <summary>
        /// 仓库名称
        /// </summary>
        public string StroeName { get; set; }
        /// <summary>
        /// 库存主表id
        /// </summary>
        public Guid StoreStockId { get; set; }
        /// <summary>
        /// 芯级id
        /// </summary>
        public Guid XJId { get; set; }
        /// <summary>
        /// 芯级图号(配套关联用)
        /// </summary>
        public string XJCode { get; set; }
        /// <summary>
        /// 芯级图号(配套关联用)
        /// </summary>
        public string XJName { get; set; }
        /// <summary>
        /// 型号(产品代号)
        /// </summary>
        public string ProductCode { get; set; }
        /// <summary>
        /// 发次
        /// </summary>
        public string SendTime { get; set; }
        /// <summary>
        /// 物料图号
        /// </summary>
        public string MaterialNo { get; set; }
        /// <summary>
        /// 物料名称
        /// </summary>
        public string MaterialName { get; set; }
        /// <summary>
        /// 规格
        /// </summary>
        public string Module { get; set; }
        /// <summary>
        /// 单位
        /// </summary>
        public Guid Unit { get; set; }
        /// <summary>
        /// 单位名称
        /// </summary>
        public string UnitName { get; set; }
        /// <summary>
        ///芯级用量
        /// </summary>
        public int BomDosageTotalAmount { get; set; }
        /// <summary>
        /// 自由库存数量 :库存未预配套的数量，即自由状态数量
        /// </summary>
        public int FreeQuantityStock { get; set; }
        /// <summary>
        /// 可用库存数量 :自由库存数量中符合条件可自动配套的产品数量
        /// </summary>
        public int UsableQuantityStock { get; set; }
        /// <summary>
        /// 预配套调整数
        /// </summary>
        public int CompleteAdjust { get; set; }
        /// <summary>
        /// 预配套数量
        /// </summary>
        public int PreSuiteStock { get; set; }
        /// <summary>
        /// 缺料数量
        /// </summary>
        public int StarvingStock { get; set; }
        /// <summary>
        /// 出库数量
        /// </summary>
        public int DeliveryStock { get; set; } 
        /// <summary>
        /// 未配套数量
        /// </summary>
        public int UnmatchedQuantity { get; set; }
        /// <summary>
        /// 配套数量（无）
        /// </summary>
        public int SuiteStock { get; set; }
        /// <summary>
        /// 预配套状态
        /// </summary>
        public int PreSuiteStatus { get; set; }
        /// <summary>
        /// 预配套状态名称
        /// </summary>
        public string PreSuiteStatusName { get; set; }
        /// <summary>
        /// 整箭用量
        /// </summary>
        public int DosageQuantity { get; set; }
        /// <summary>
        /// 预配套人
        /// </summary>
        public string PreSuiteName { get; set; }
        /// <summary>
        /// 预配套时间
        /// </summary>
        public string PreSuiteTime { get; set; }

        /// <summary>
        /// 产品编号(件号)
        /// </summary>
        public string ProductNumber { get; set; }

        public Guid MaterialsContentId { get; set; }
        /// <summary>
        /// 仓库明细
        /// </summary>
        public List<StoreStockContentDto> storeStockContentDtoList { get; set; }
        /// <summary>
        /// 物料类别
        /// </summary>
        public string MaterialTypeName { get; set; }
        /// <summary>
        /// 物料细分类别名称
        /// </summary>
        public string MaterialCategoryName { get; set; }
        //芯级预配套用量汇总
        public int PreSuiteStockAll { get; set; }
        //缺料数量汇总
        public int StarvingStockAll { get; set; }
        //出库数量汇总
        public int DeliveryStockAll { get; set; }


    }
}
